<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:output method="xml" indent="yes" />
    <xsl:template match="report">

        <!--Нужно обсудить заголовок таблицы не название а именно заголовок как он будет выглидеть и как передоваться
        затем посмотреть заголовок отчета в целом и все остальное, можно вынести                     <fo:block font-size="18pt" font-family="sans-serif"
                              line-height="1.5em" background-color="black" color="white"
                              text-align="center">Report</fo:block>
                              в  <xsl:apply-templates select="header" /> который переместить в
                              <fo:flow flow-name="xsl-region-body">
        -->
        <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
            <fo:layout-master-set>
                <fo:simple-page-master master-name="all"
                                       page-height="11in" page-width="8.5in" margin-top="0.25in"
                                       margin-bottom="0.25in" margin-left="1in" margin-right="1in">
                    <fo:region-body margin-top="1in" margin-bottom="1in" />
                    <fo:region-before extent="1in" />
                    <fo:region-after extent="1in" />
                </fo:simple-page-master>
            </fo:layout-master-set>
            <fo:page-sequence master-reference="all">  <!--Посмотреть как задать для определнного набора страниц
            разный <fo:page-sequence master-reference="all">-->
                <!-- header -->
                <fo:static-content flow-name="xsl-region-before">
                    <fo:block font-size="18pt" font-family="Arial"
                              line-height="1.5em"
                              text-align="center">Отчет</fo:block>
                    <xsl:apply-templates select="header" />
                </fo:static-content>
                <fo:static-content flow-name="xsl-region-after">
                    <fo:block text-align="end" font-size="10pt" font-family="serif">
                        Page <fo:page-number />
                    </fo:block>
                </fo:static-content>
                <fo:flow flow-name="xsl-region-body">
                    <fo:block font-family="Arial">
                        <xsl:apply-templates select="rtable" />
                        <xsl:apply-templates select="footer"/>
                    </fo:block>
                </fo:flow>
            </fo:page-sequence>
        </fo:root>
    </xsl:template>


    <xsl:template match="report/header" name="header">
        <fo:block text-align="center" font-family="Arial">
            <!--fo:inline >Report header : </fo:inline-->
            <xsl:value-of select="." />
        </fo:block>
    </xsl:template>

    <xsl:template match="footer">
        <fo:block text-align="center" font-family="Arial">
            <!--fo:inline >Report footer : </fo:inline-->
            <xsl:value-of select="." />
        </fo:block>
    </xsl:template>

    <xsl:template match="rtable" name="rtable">
        <fo:block text-align="center">
            <xsl:apply-templates select="theader"/>
            <xsl:apply-templates select="tgroup"/>
        </fo:block>
    </xsl:template>

    <xsl:template match="theader" >
        <fo:block text-align="center">
            <!--fo:inline >header</fo:inline-->
            <xsl:value-of select="." />
        </fo:block>
    </xsl:template>

    <xsl:template match="tgroup" >
        <fo:block space-after="8pt" space-before="8pt">
            <xsl:apply-templates select="tgheader"/>
            <fo:table width="100%">
                <fo:table-column />
                <fo:table-column />
                <fo:table-column />
                <fo:table-column />
                <fo:table-footer>
                    <fo:table-row>
                        <fo:table-cell font-weight="bold">
                            <fo:block text-align="center">
                            <xsl:apply-templates select="tgfooter"/>
                            </fo:block>
                        </fo:table-cell>
                    </fo:table-row>
                </fo:table-footer>
                <fo:table-body>
                    <xsl:apply-templates select="trow"/>
                </fo:table-body>
            </fo:table>
        </fo:block>
    </xsl:template>

    <xsl:template match="tgfooter">
            <xsl:value-of select="." />
    </xsl:template>

    <xsl:template match="tgheader" >
        <fo:block>
            <!--fo:inline font-weight="bold">tgroup header:</fo:inline-->
            <xsl:value-of select="." />
        </fo:block>
    </xsl:template>

    <xsl:template match="trow">
        <fo:table-row>
            <xsl:apply-templates select="tcell"/>
        </fo:table-row>
    </xsl:template>

    <xsl:template match="tcell">
        <fo:table-cell border="solid black 1px">
            <fo:block>
                <!--fo:inline font-weight="bold">tcell:</fo:inline-->
                <xsl:value-of select="." />
            </fo:block>
        </fo:table-cell>
    </xsl:template>


</xsl:stylesheet>